.avatar {
  --avatar-bg: #ccc;
  --avatar-size: 2.5rem;
  --avatar-fallback-font-size: 0.75rem;

  display: inline-block;
  position: relative;

  width: var(--avatar-size);
  height: var(--avatar-size);

  background: var(--avatar-bg);
  border-radius: 50%;
  box-shadow: rgba(black, 0.25) 0 1px 0;

  img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    border-radius: 50%;

    position: relative;
    z-index: 1;
  }

  .avatar-fallback {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

    border-radius: 50%;

    color: white;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: var(--avatar-fallback-font-size);
    font-weight: 500;
  }
}

.avatar-sm {
  --avatar-size: 1.5rem;
  --avatar-fallback-font-size: 0.625rem;
}

.avatar-lg {
  --avatar-size: 4rem;
  --avatar-fallback-font-size: 1.5rem;
}
